#pragma once
#include "../Gui.h"
#include "Reg.h"

#define MIN_VOLUME            0
//#define MAX_VOLUME            0xFFFFFFFF
#define MAX_VOLUME            9
#define VOL_LEVEL             9

#define VOL_DIVID             0xFFFFFFFF/9

enum VolumeModeType
{
	VOL_MUTE,  /// Mute the screen tap
	VOL_SOFT,  /// Use soft sound mode for the screen tap
	VOL_LOUD   /// Use loud sound mode for the screen tap
};

class GUI_API CSysVolume
{
public:
	BOOL SetVolumeScreenTap(VolumeModeType volMode);
	BOOL SetVolumeKeyClick(VolumeModeType volMode);
	BOOL EnableSoundNotification(BOOL bEnable);
	BOOL EnableSoundApplication(BOOL bEnable);
	BOOL EnableSoundEvent(BOOL bEnable);
	BOOL SetVolume(DWORD dwVol);
	
	DWORD GetVolmue();

	CSysVolume();
	virtual ~CSysVolume();

protected:
	BOOL Apply();
	CReg m_Reg;
};
